<?php
namespace App\Models\Entity\wxbox;

use Swoft\Db\Model;
use Swoft\Db\Bean\Annotation\Column;
use Swoft\Db\Bean\Annotation\Entity;
use Swoft\Db\Bean\Annotation\Id;
use Swoft\Db\Bean\Annotation\Required;
use Swoft\Db\Bean\Annotation\Table;
use Swoft\Db\Types;

/**
 * @Entity()
 * @Table(name="wxadmin")
 * @uses      Wxadmin
 */
class Wxadmin extends Model
{
    /**
     * @var int $id 
     * @Id()
     * @Column(name="id", type="integer")
     */
    private $id;

    /**
     * @var string $email 
     * @Column(name="email", type="string", length=30)
     * @Required()
     */
    private $email;

    /**
     * @var string $password 
     * @Column(name="password", type="string", length=48)
     * @Required()
     */
    private $password;

    /**
     * @var string $wxid 
     * @Column(name="wxid", type="string", length=255)
     * @Required()
     */
    private $wxid;

    /**
     * @var int $vip 
     * @Column(name="vip", type="smallint", default=0)
     */
    private $vip;

    /**
     * @var string $name 
     * @Column(name="name", type="string", length=40)
     * @Required()
     */
    private $name;

    /**
     * @param int $value
     * @return $this
     */
    public function setId(int $value)
    {
        $this->id = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setEmail(string $value): self
    {
        $this->email = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setPassword(string $value): self
    {
        $this->password = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setWxid(string $value): self
    {
        $this->wxid = $value;

        return $this;
    }

    /**
     * @param int $value
     * @return $this
     */
    public function setVip(int $value): self
    {
        $this->vip = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setName(string $value): self
    {
        $this->name = $value;

        return $this;
    }

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * @return string
     */
    public function getPassword()
    {
        return $this->password;
    }

    /**
     * @return string
     */
    public function getWxid()
    {
        return $this->wxid;
    }

    /**
     * @return int
     */
    public function getVip()
    {
        return $this->vip;
    }

    /**
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

}
